home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / netinet / RCS / in_pcb.h,v < prev    next >
Text File  |  1988-06-29  |  2KB  |  88 lines

  1. head     1.2;
  2. access   ;
  3. symbols  ;
  4. locks    ; strict;
  5. comment  @ * @;
  6.  
  7.  
  8. 1.2
  9. date     88.06.29.15.11.00;  author ouster;  state Exp;
  10. branches ;
  11. next     1.1;
  12.  
  13. 1.1
  14. date     88.06.21.11.59.25;  author ouster;  state Exp;
  15. branches ;
  16. next     ;
  17.  
  18.  
  19. desc
  20. @@
  21.  
  22.  
  23. 1.2
  24. log
  25. @Add ifdefs to keep files from being processed twice.
  26. @
  27. text
  28. @/*
  29.  * Copyright (c) 1982, 1986 Regents of the University of California.
  30.  * All rights reserved.
  31.  *
  32.  * Redistribution and use in source and binary forms are permitted
  33.  * provided that this notice is preserved and that due credit is given
  34.  * to the University of California at Berkeley. The name of the University
  35.  * may not be used to endorse or promote products derived from this
  36.  * software without specific prior written permission. This software
  37.  * is provided ``as is'' without express or implied warranty.
  38.  *
  39.  *    @@(#)in_pcb.h    7.2 (Berkeley) 12/7/87
  40.  */
  41.  
  42. #ifndef _IN_PCB
  43. #define _IN_PCB
  44.  
  45. /*
  46.  * Common structure pcb for internet protocol implementation.
  47.  * Here are stored pointers to local and foreign host table
  48.  * entries, local and foreign socket numbers, and pointers
  49.  * up (to a socket structure) and down (to a protocol-specific)
  50.  * control block.
  51.  */
  52. struct inpcb {
  53.     struct    inpcb *inp_next,*inp_prev;
  54.                     /* pointers to other pcb's */
  55.     struct    inpcb *inp_head;    /* pointer back to chain of inpcb's
  56.                        for this protocol */
  57.     struct    in_addr inp_faddr;    /* foreign host table entry */
  58.     u_short    inp_fport;        /* foreign port */
  59.     struct    in_addr inp_laddr;    /* local host table entry */
  60.     u_short    inp_lport;        /* local port */
  61.     struct    socket *inp_socket;    /* back pointer to socket */
  62.     caddr_t    inp_ppcb;        /* pointer to per-protocol pcb */
  63.     struct    route inp_route;    /* placeholder for routing entry */
  64.     struct    mbuf *inp_options;    /* IP options */
  65. };
  66.  
  67. #define    INPLOOKUP_WILDCARD    1
  68. #define    INPLOOKUP_SETLOCAL    2
  69.  
  70. #define    sotoinpcb(so)    ((struct inpcb *)(so)->so_pcb)
  71.  
  72. #ifdef KERNEL
  73. struct    inpcb *in_pcblookup();
  74. #endif
  75.  
  76. #endif _IN_PCB
  77. @
  78.  
  79.  
  80. 1.1
  81. log
  82. @Initial revision
  83. @
  84. text
  85. @d15 3
  86. d48 2
  87. @
  88.